1. Field of the Invention
The present invention relates generally to television broadcast systems and, more particularly, to the transmission and use of relational metadata.
2. Description of Related Art
Television service providers, such as a satellite broadcaster or a cable multiple system operator (MSO), transmit audio-video streams to a viewer's television system. The viewer's television system frequently consists of a set-top box connected to a television set and a recording device, but may consist of any number of suitable devices. In addition to the audio and video that viewers typically think of as television programs, television service providers may transmit additional information as well. For example, the additional information may be instructions which are interpreted by an interpreter or virtual machine. Alternatively, a service provider may transmit HTML data for rendering by a presentation engine. If the broadcast is analog, this additional information may be encoded in the VBI (vertical blanking interval). If the broadcast is digital, additional information may be multiplexed with the audio and video according to a standard format, such as MPEG-2, or a proprietary format.
Interactive television systems provide a means to deliver interactive content as well as ordinary television audio and video to a large number of subscribers. Programs broadcast by these systems may incorporate television audio and video, still images, text, interactive graphics and applications, and many other components. The interactive content of the interactive television signal may therefore include application code, data associated with the audio and video, control signals, raw data and many other types of information. Both the interactive content and the audio and video data may be delivered to subscribers as “pushed” data. That is, the data is delivered to each of the subscribers, regardless of whether or not the subscribers requested the data.
The interactive functionality of the television is generally controlled by a client, such as an Integrated Receiver Decoder (IRD), which may, for example, be embodied in a television, set-top box, or other device connected to the television. The client receives the signal transmitted by a broadcast service provider or system operator, separates the interactive portion from the audio-video portion and decompresses the respective portions of the signal. The client uses the interactive information to, for example, execute an application while the audio-video information is transmitted to the television. The client may combine the audio-video information with interactive graphics or audio generated by the interactive application prior to transmitting the information to the television. The interactive graphics and audio may present additional information to the viewer or may prompt the viewer for input. The client may provide viewer input or other information to the broadcast service provider or system operator via a return path.
Interactive content such as application code or information relating to television programs is sometimes broadcast in a repeating format. In other words, each piece of information is broadcast a first time, then each is transmitted a second time, and so on. The cycle is repeated so that each piece of interactive data is transmitted, for example, every ten seconds. The pieces of information which are broadcast in this manner form what can be referred to as a “carousel.” Frequently, a single carousel is transported as a contiguous data stream. However, it is also possible to multiplex two or more carousels in a single data stream. Instead of using a carousel format, some interactive television systems may be configured to more heavily use a return path, requiring the client to request much of the interactive content via the return path.
Broadcast systems (e.g., interactive television systems) transmit information in a carousel format in order to allow clients in the system to selectively obtain particular pieces of information in the carousel without requiring a return path from the clients to the server. If a particular client needs a particular piece of information, it can simply wait until the next time that piece of information is broadcast, and then extract the information from the broadcast data stream. Other clients in the system can operate in the same manner, each client waiting for the information it needs, and then using only that information. By employing carousels to broadcast information, the system eliminates the need to connect each of the clients with the server and further eliminates the need for the server to process individual requests for information, while still allowing different viewers to join at different times. Generally, a broadcast signal may include a number of programs which in turn may include a number of audio/video streams and/or data streams. Data streams may be used to carry data such as interactive application data, subtitle information, or other data.
The pieces of information, or data objects, in a carousel may be intended to be combined to comprise a program. This program may also contain streaming data such as audio or video. For example, an interactive television game show may combine television audio and video with interactive content such as application code which allows users to answer questions. Another example would be a news program which combines audio and video with application code that inserts current stock prices in a banner at the bottom of the screen. (It should be noted that many types of programs are possible, and it is not necessary to include either audio, video or interactive content with any particular program. A program might contain only audio and interactive data (e.g., an interactive radio program,) or it might contain only interactive data (e.g., an interactive weather program that does not contain audio or video streams.) Typically, each program is associated with a corresponding channel and, when a channel containing a particular program is selected by the interactive television client, the data which is being broadcast on that channel is downloaded and the program is started.
In addition to video, audio, and other data, information known as metadata may be included in a broadcast. Generally speaking, metadata is data, or information, about other data. For example, information in a broadcast stream for an electronic program guide may be considered metadata because it contains information about corresponding audio and video. Other examples of metadata may include information indicating, for example, which languages are available for a particular program, the genre of a movie, the names of actors, and automatically computed data such as the distribution of color in the various scenes. However, all these types of metadata provide only limited information and/or functionality.
What is desired is a method and mechanism for generating and utilizing metadata to enhance the viewing experience.